home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / c / sozobon / sozlib15.zoo / sozdistr / examples / hello.c next >
C/C++ Source or Header  |  1995-02-15  |  2KB  |  91 lines

  1. /* @(#)hello.c, SozobonX examples
  2.  * 
  3.  * hello world 
  4.  * sample program for XdLibs library and SozobonX distribution
  5.  */
  6.  
  7. #include    <stdio.h>
  8.  
  9.     /* program identification
  10.      *
  11.      * 'ident' command should be able to print some id strings extracted
  12.      * from your program.
  13.      * The Patchlevel strings form the library is always included.
  14.      * You can add of course some more strings:
  15.      */
  16. #define VERSION "1.0"
  17.  
  18. static char Ident_prog[] = 
  19.     "$" "Id: hello, v " VERSION " " __DATE__ " SozobonX $";
  20.  
  21.     /*
  22.      * You can use similiar strings in your source files and programs.
  23.      * For strings to be included in the binary you can use the
  24.      * string cat feature of hcc, to prevent ident to tell something
  25.      * wrong about the source file.
  26.      * "$" "Id: <name>,v <version> <date> $"
  27.      * but
  28.      * $Id: hello.c, v1.0, SozobonX examples
  29.      */
  30.  
  31.  
  32. /* 
  33.  * The most common way for the identification of a file by the user
  34.  * is the 'what' command. It prints all the strings like the first
  35.  * one in this file. To inlude such a string in the binary just define a
  36.  * variable like following one:
  37.  * "@(" "#)<name>,v <version> <date> <company, etc>"
  38.  */
  39. static char this_is[] = 
  40.             "@(" "#)hello.tos, v" VERSION " " __DATE__ " SozobonX examples";
  41.  
  42.  
  43.     /* the following variables are for usage in your program,
  44.      * e.g in error messages:
  45.      * fprintf(stderr, "%s: <the message>\n", myname);
  46.      */
  47. char *myname = "hello";
  48. char *mypath = "";
  49.  
  50. /* They are extraced by the function
  51.  * getmyname()
  52.  * if available.
  53.  * 
  54.  */
  55.  
  56. char    *getmyname(char *argv[])
  57. {
  58.     char    *p, *s;
  59.  
  60.     if (argv[0] && **argv) {
  61.         mypath = argv[0];
  62.         p = basename(mypath);
  63.         if (p != mypath) 
  64.             p[-1] = '\0';
  65.         if (s = suffix(p))
  66.             *s = '\0';
  67.  
  68.         return(p);
  69.     }
  70.     return(myname);
  71. }    /* getmyname    */
  72.  
  73.  
  74.  
  75. main(int argc, char *argv[])
  76. {
  77.  
  78.     if (argc)
  79.         myname = getmyname(argv);
  80.                 
  81.     printf("\nHello world\n\n");
  82.     
  83.     printf("This is '%s', in path\n\t%s\\ \ncompiled with\n\t%s\n"
  84.            "on " __DATE__ ", " __TIME__ "\n",
  85.             myname, mypath, __VERSION__);
  86.  
  87.     return(0);
  88.  
  89. }    /* main    */
  90.  
  91.